package com.itfenghuang.day01;

public class A05_Code块 {
    /**
     *      代码块  Codeblock
     *
     * 1.概述
     *      方法的定义:  public void  方法名(参数列表){}
     *      代码块:  就是{}  里面写代码
     * 2.代码块的分类
     *      局部代码块:  定义在方法中
     *      作用:     可以让变量尽早的从内存中消失,从而提高系统的运行效率
     *      构造代码块:
     *          定义在类中,方法之外的代码块
     *          在构造方法执行之前,系统会自动的调用对应的构造代码块
     *      静态代码块
     *          static  静态修饰符
     *                  修饰方法:变成静态方法,可以通过类名.方法名调用
     *                  修饰变量: 静态变量  该类所有的对象可以共享
     *                  修饰代码块:  静态代码块,在构造代码块执行之前被调用
     *      在父子类中,静态代码块,构造代码块和构造方法的执行顺序
     *          父类的静态代码块--> 子类的静态代码块--> 父类的构造代码块-->
     *          父类的构造方法-->子类的构造代码块-->子类的构造方法
     *
     */
    public static void main(String[] args) {
        {
            int i=2;
            String str="为爱琉璃三万倾";
//            System.out.println(i);
//            System.out.println(str);
        }
//        CodeTest01 code = new CodeTest01();


        Zi1 zi1 = new Zi1();
    }
}

//class CodeTest01{
//    public String name;
//    public int age;
//    public String gender;
//
//    static{
//        System.out.println("静态代码块");
//    }
//    {
//        System.out.println("构造代码块");
//    }
//
//    public CodeTest01(String name, int age, String gender) {
//        this.name = name;
//        this.age = age;
//        this.gender = gender;
//        System.out.println("全参");
//    }
//    public CodeTest01() {
//        System.out.println("空参");
//    }
//}


class Fu1{
    static{
        System.out.println("父类静态构造代码块");
    }
    {
        System.out.println("父类构造代码块");
    }
    public  Fu1(){
        System.out.println("父类的构造方法");
    }
}
class Zi1 extends Fu1{
    static{
        System.out.println("子类静态构造代码块");
    }
    {
        System.out.println("子类构造代码块");
    }
    public  Zi1 (){
        System.out.println("子类的构造方法");
    }
}